package com.qabaco.odondata.model.entities;

import java.io.Serializable;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.ColumnResult;
import javax.persistence.Entity;
import javax.persistence.EntityResult;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SqlResultSetMapping;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@NamedQueries({
  @NamedQuery(name = "Consulta.findAll", query = "select o from Consulta o")
})
@SqlResultSetMapping(name = "qConsultasByFiltro",
                     entities={@EntityResult(entityClass = Consulta.class)},
                     columns ={@ColumnResult(name="ID_DETALLE"),
                               @ColumnResult(name="ID_USUARIO_DET"),
                               @ColumnResult(name="CONSULTA"),
                               @ColumnResult(name="FECHA_DETALLE"),
                               @ColumnResult(name="NOMBRE_USUARIO"),
                               @ColumnResult(name="TITULO_TEMA")} 
                     )
@Table(name = "consultas")
public class Consulta implements Serializable {
    private Integer estado;
    private Timestamp fecha;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(nullable = false)
    private Integer id;
    @Column(name="ID_TEMA")
    private Integer idTema;
    @Column(name="ID_USUARIO")
    private Integer idUsuario;
    @Column(name="PACIENTE")
    private String paciente;
    
    @Transient
    private String nombreUsuario;

    @Transient
    private Integer ultIdDetConsulta;
    @Transient
    private Integer ultIdUsuario;
    @Transient
    private String ultConsulta;
    @Transient
    private Timestamp ultFecha;
    
    @Transient
    private String temaReferido;


    public Consulta() {
    }

    public Consulta(Integer estado, Timestamp fecha, Integer id,
                    Integer idTema, Integer idUsuario) {
        this.estado = estado;
        this.fecha = fecha;
        this.id = id;
        this.idTema = idTema;
        this.idUsuario = idUsuario;
    }

    public Integer getEstado() {
        return estado;
    }

    public void setEstado(Integer estado) {
        this.estado = estado;
    }

    public Timestamp getFecha() {
        return fecha;
    }

    public void setFecha(Timestamp fecha) {
        this.fecha = fecha;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getIdTema() {
        return idTema;
    }

    public void setIdTema(Integer idTema) {
        this.idTema = idTema;
    }

    public Integer getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(Integer idUsuario) {
        this.idUsuario = idUsuario;
    }

    public void setNombreUsuario(String nombreUsuario) {
        this.nombreUsuario = nombreUsuario;
    }

    public String getNombreUsuario() {
        return nombreUsuario;
    }

    public void setUltIdDetConsulta(Integer ultIdDetConsulta) {
        this.ultIdDetConsulta = ultIdDetConsulta;
    }

    public Integer getUltIdDetConsulta() {
        return ultIdDetConsulta;
    }

    public void setUltIdUsuario(Integer ultIdUsuario) {
        this.ultIdUsuario = ultIdUsuario;
    }

    public Integer getUltIdUsuario() {
        return ultIdUsuario;
    }

    public void setUltConsulta(String ultConsulta) {
        this.ultConsulta = ultConsulta;
    }

    public String getUltConsulta() {
        return ultConsulta;
    }

    public void setUltFecha(Timestamp ultFecha) {
        this.ultFecha = ultFecha;
    }

    public Timestamp getUltFecha() {
        return ultFecha;
    }

    public void setPaciente(String paciente) {
        this.paciente = paciente;
    }

    public String getPaciente() {
        return paciente;
    }

    public void setTemaReferido(String temaReferido) {
        this.temaReferido = temaReferido;
    }

    public String getTemaReferido() {
        return temaReferido;
    }
}
